home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Nikkei Mac 20
/
NIKKEI-MAC-CD-VOL-20-1998-12.ISO.7z
/
NIKKEI-MAC-CD-VOL-20-1998-12.ISO
/
オンラインソフト
/
9.ウェブ作成ツール
/
PageSpinner
/
Pagespin-ext-pack-201j.sit
/
PageSpinner 2.01 Ext Pack r1 Jp
/
New Examples Folder
/
Examples
/
JavaScript
/
Timer Example
< prev
next >
Wrap
Text File
|
1997-10-26
|
5KB
|
178 lines
<HTML><HEAD>
<TITLE>JavaScript のタイマー</TITLE>
<SCRIPT LANGUAGE="JavaScript">
<!-- Beginning of JavaScript --------
/*
JavaScript Timer
Written by Jerry Aman, Optima System, June 1, 1996.
Part of the PageSpinner distribution.
Portions based upon the JavaScript setTimeout example at:
http://home.netscape.com/eng/mozilla/Gold/handbook/javascript/
We will not be held responsible for any unwanted
effects due to the usage of this script or any derivative.
No warrantees for usability for any specific application are
given or implied.
You are free to use and modify this script,
if the credits above are given in the source code
*/
var timerID = null
var timerRunning = false
var startDate
var startSecs
function stopclock()
{
if(timerRunning)
clearTimeout(timerID)
timerRunning = false
}
function startclock()
{
startDate = new Date()
startSecs = (startDate.getHours()*60*60) + (startDate.getMinutes()*60)
+ startDate.getSeconds()
stopclock()
showtime()
}
/* -------------------------------------------------
showtime()
Puts the amount of time that has passed since
loading the page into the field named timerField in
the form named timeForm
------------------------------------------------- */
function showtime()
{
// this doesn't work correctly at midnight...
var now = new Date()
var nowSecs = (now.getHours()*60*60) + (now.getMinutes()*60) + now.getSeconds()
var elapsedSecs = nowSecs - startSecs;
var hours = Math.floor( elapsedSecs / 3600 )
elapsedSecs = elapsedSecs - (hours*3600)
var minutes = Math.floor( elapsedSecs / 60 )
elapsedSecs = elapsedSecs - (minutes*60)
var seconds = elapsedSecs
var timeValue = "" + hours
timeValue += ((minutes < 10) ? ":0" : ":") + minutes
timeValue += ((seconds < 10) ? ":0" : ":") + seconds
// Update display
document.timerForm.timerField.value = timeValue
timerID = setTimeout("showtime()",1000)
timerRunning = true
}
/* -------------------------------------------------
GetReward
Here you decide what to do depending upon
how long the user has waited
In this case we display an alert and set the
HREF property of theLink to another page
Immortal statements by Groucho Marx, 1890-1977
------------------------------------------------- */
function GetReward(theLink)
{
var msgString;
var now = new Date()
var nowSecs = (now.getHours()*60*60) + (now.getMinutes()*60) + now.getSeconds()
var elapsedSecs = nowSecs - startSecs;
theLink.href = "groucho.html" // page to go
if ( elapsedSecs > 70) // After 70 secs
msgString = "時蠅は矢が好き、瓜蠅はバナナが好き!"
else
if ( elapsedSecs > 50) // After 50 secs
msgString = "I've had a perfectly wonderful evening. But this wasn't it."
else
if ( elapsedSecs > 30) // After 30 secs
msgString = "Those are my principles. If you don't like them I have others."
else
{
msgString = ("残念、まだご褒美はありません...")
theLink.href = "#" // Don't go to another page yet...
}
window.alert(msgString); // But let's display an alert first!
}
// -- End of JavaScript code -------------- -->
</SCRIPT>
</HEAD>
<BODY onLoad="startclock()">
<H1>JavaScript のタイマー</H1>
<B>このひな形ページには JavaScript タイマーの例が含まれています。</B>
<P>
現在 JavaScript は Netscape Navigator 2.0 以降と MS Internet Explorer 3.0以降でのみ使用できることに注意して下さい。<BR>
<FONT COLOR="931B15">あなたはすべての読者が JavaScript を埋め込まれたブラウザを使用していると思ってはいけません。</FONT>
<HR>
<P>
<FORM NAME="timerForm" onSubmit="0">
あなたがこのページを見ている時間 <INPUT TYPE="text" NAME="timerField" SIZE=10 VALUE ="">
</FORM>
<P>
どれだけの時間見ていてくれたかにより
<A HREF="#"
onClick="GetReward(this);"
onMouseOver="window.status='あら、私あまり長くは待てないわ!'; return true">
<B>ご褒美</B></A>があります
<P>
<HR>
<P>
<B>使い方:</B>
<P>
すべての JavaScript (このファイルの Head セクションにあります) を別のファイルにコピーします。このファイルはひな形ファイルとしても使用できます。
<P>
以下の Body タグ <CODE><BODY onLoad="startclock()"></CODE> を使ってタイマーをスタートします。
<P>
以下の例と同様なものを あなたのページの Body セクションに置いてタイマーを表示します。
<P>
<PRE><FORM NAME="timerForm" onSubmit="0">
あなたがこのページを見ている時間
<INPUT TYPE="text" NAME="timerField" SIZE=10 VALUE ="">
</FORM></PRE>
<P>
<HR>
<P>
タイマーの値を使って何かをする例は、<CODE>GetReward(theLink)</CODE> 関数を実行するリンクの部分です:
<P>
<PRE>どれだけの時間見ていてくれたかにより
<A HREF="#"
onClick="GetReward(this);"
onMouseOver="window.status='あら、私あまり長くは待てないわ!'; return true">
<B>ご褒美</B></A>があります</PRE>
<P>
<CODE>GetReward(theLink)</CODE> 関数の部分を編集して、読者がリンクをクリックしたとき何がおこるか仕掛けを変更できます。
<!--Translated by <A HREF="mailto:hosoka@ca2.so-net.or.jp">Shuji HOSOKAWA</A>-->
</BODY>
</HTML>